Field of the Invention
The invention is in the field of computer programming and specifically in the field of server side execution of computer programs.
Related Art
Execution of computer programs can generally occur using one of two approaches. In one model the computer program is executed on a single device where input is received from a user, such as a game player, and program output is presented to the user. In the other model program execution occurs on a remote server under the control of one or more clients. A user provides inputs at the client and receives program output for display at the client. Communication between the client and the server takes place over a communication network, such as the internet.
It is possible that program execution can be distributed between both a client and a server. For example, in multiplayer video games it is common for a server to maintain a global state of a game based on inputs from many clients, and for each client to render separate video responsive to game rules and part of the global state. This requires that a software client of the video game be installed on the client.